package com.iss.umservice.dao;

import java.util.List;

import com.iss.umservice.bean.AnnouncementBean;
import com.iss.umservice.bean.QueryAnnouncementBean;

/**
 * 通知公告信息
 * @author luzi
 *
 */
public interface AnnouncementDao {
	/**
	 * 新增通知公告信息
	 */
	int addAnnouncement(AnnouncementBean newAnn);

	/**
	 * 修改通知公告信息
	 * @param ann 待修改信息
	 */
	void modAnnouncement(AnnouncementBean ann);

	/**
	 * 删除通知公告信息
	 * @param ann
	 */
	void delAnnouncement(AnnouncementBean ann);

	/**
	 * 根据条件查询通知公告信息
	 * @param condition
	 * @param offset
	 * @param row
	 * @return
	 */
	List<QueryAnnouncementBean> queryAnnouncements(QueryAnnouncementBean condition, int offset, int row);

	/**
	 * 获得通知公告数目
	 * @param condition
	 * @return
	 */
	int countAnnouncement(QueryAnnouncementBean condition);
	
	/**
	 * 获得某个通知公告的信息
	 * @param condition
	 * @return
	 */
	AnnouncementBean getAnnouncement(AnnouncementBean condition);

	/**
	 * 获得所有通知公告的信息
	 * @return
	 */
	List<QueryAnnouncementBean> allAnnouncement();
	
	/**
	 * 废弃通知公告
	 * 即将状态修改为删除，但不会真正删除
	 * @param ids
	 */
	void discardAnnouncement(int id);
}
